//
// Created by root on 5/30/17.
//

#ifndef FUNNY_SCHEME_DECIMAL_H
#define FUNNY_SCHEME_DECIMAL_H

#include "../ds/datastructure.h"

#define DECIMAL_MIN   0.000001

int equals_double(double a, double b);
int is_zero_decimal(Cell* x);

Cell* make_decimal(Scheme *sc, double num);
Cell* decimal_add(Scheme *sc, Cell* x, Cell* y);
Cell* decimal_mul(Scheme *sc, Cell* x, Cell* y);
Cell* decimal_sub(Scheme *sc, Cell* x, Cell* y);
Cell* decimal_div(Scheme *sc, Cell* x, Cell* y);

DEFINE_OPERATOR( make_decimal );
INIT_OPERATORS( decimal );

#endif //FUNNY_SCHEME_DECIMAL_H
